77 GOSUB 74:LOCATE 2,(81-LEN(TITLE$))/2,0:PRINT#2, TITLE$;:GOSUB 75:IF MENU$="SY" OR MENU$="EA" OR MENU$="PA" OR MENU$="SE" THEN GOSUB 100:GOTO 79
78 LOCATE 2,1,0:PRINT#2, CHR$(201)+STRING$(36-TL%,205):LOCATE 2,44+TL%-LEN(TITLE$) MOD 2,0:PRINT#2, STRING$(35-TL%+LEN(TITLE$) MOD 2,205)+CHR$(187):FOR I=3 TO 23:LOCATE I,1,0:PRINT#2, CHR$(186):LOCATE I,79,0:PRINT#2, CHR$(186):NEXT
79 LOCATE 24,1:PRINT#2,CHR$(200)+STRING$(77,205)+CHR$(188);:GOSUB 72:LOCATE 22,1:IF MENU$="SY" OR MENU$="EA" OR MENU$="PA" OR MENU$="SE" THEN PRINT#2,CHR$(201)+STRING$(77,205)+CHR$(187);:RETURN ELSE PRINT#2,CHR$(204)+STRING$(77,205)+CHR$(185);:RETURN
80 G$=INKEY$:IF G$="" THEN 80 ELSE G=VAL(G$):G%=ASC(G$)
82 IF G%<123 AND G%>96 THEN G$=CHR$(G%-32):G%=ASC(G$)
95 MEM=FRE(0):IF MEM>5000 THEN RETURN ELSE MEM=FRE(G$):RETURN
100 LOCATE 2,1:PRINT#2,CHR$(201)+STRING$(36-TL%,205);:LOCATE,44+TL%-LEN(TITLE$) MOD 2:PRINT#2,STRING$(35-TL%+LEN(TITLE$) MOD 2,205)+CHR$(187):LOCATE 3,1:PRINT#2,CHR$(208);:LOCATE,79:PRINT#2,CHR$(208)
110 CLS:TITLE$=O$:GOSUB 72:GOSUB 76:GOSUB 72:LOCATE 11,26:PRINT#2, "Will you be using a printer":LOCATE 12,30:PRINT#2, "this session (Y/N)?":LOCATE 12,50,0
112 GOSUB 80:IF G$<>"Y" AND G$<>"N" THEN BEEP:GOTO 112 ELSE PR$=G$:RETURN
120 IF (W<>0 AND J3=0) OR (W=0 AND J4=0) THEN BEEP:RETURN 2320
124 RETURN
130 NU$=" <N>ext ":RETURN
135 G$="":G$=INKEY$:IF G$<>CHR$(13) THEN 135 ELSE RETURN
140 IF CSRLIN=>22 AND SIDE%=1 THEN IF PP%=1 THEN LOCATE 6,40:RETURN ELSE LOCATE TV%,40:RETURN
144 RETURN
200 RE%=P2%(GG%):IF PP%=1 THEN RE%=P%(GG%,0):GOTO 215
210 IF W<>0 THEN RE%=PD%(GG%)
215 IF PP%=2 THEN RE%=GG%
220 GOSUB 1270:OPEN "SYMPTOM1.BIN" AS #1 LEN=42:FIELD #1, 42 AS RS$:GET #1,RE%:A$=RS$:CLOSE #1
222 FOR I=1 TO 21:A(I)=CVI(MID$(A$,(I-1)*2+1,2)):NEXT
230 GOSUB 72:GOSUB 74:LOCATE 7,25:PRINT#2, "Insert reference diskette and":LOCATE ,22:PRINT#2, "press letter of disk drive selected.":GOSUB 75
440 PRINT#2, "The following conditions/diseases have the following number of symptoms":PRINT#2, "in common with those symptoms presented by the subject:":PRINT#2, :PRINT#2, " ****CONDITION/DISEASE**** ****NUMBER OF SYMPTOMS IN COMMON****"
445 PRINT#2,
460 FOR I=1 TO L2:RE%=P%(I,0):GOSUB 1270:PRINT#2, USING "###";I;:PRINT#2,". ";RD.GOOD$;:SP$=SPACE$(15):PRINT#2,SP$;:PRINT#2,USING "##";P%(I,1):NEXT:RETURN
482 IF FR%=0 THEN LOCATE 19,40:PRINT#2, "...the analysis ?"
484 GOSUB 74:LOCATE 23,40:PRINT#2,AL$;:GOSUB 75
500 GOSUB 80:IF G%<>27 AND G%<>8 AND G%<>13 AND G$<>"P" AND G$<>"D" THEN BEEP:GOTO 500 ELSE RETURN
520 CLS:GOSUB 72:GOSUB 74:LOCATE 8,21:PRINT#2, "--Make sure the printer is turned on--":LOCATE 12,24:PRINT#2, "Press <SPACEBAR> to continue, or"
525 LOCATE 14,31:PRINT#2, "<ESC> for Main Menu":GOSUB 75:GOSUB 80:IF G%=27 OR G%=8 THEN 1860 ELSE RETURN
530 GOSUB 60:FOR I=1 TO 4:PRINT#2,:NEXT:PRINT#2,TAB(40-LEN(TI$)/2);TI$;:PRINT#2,:PRINT#2,:PRINT#2,:PRINT#2,"The subject presented these symptoms:":PRINT#2,:H=7:QQ%=79:FOR CO=1 TO J:A$=MID$(S$(CO),6):GOSUB 1760:NEXT:PRINT#2,:PRINT#2,:PRINT#2,:RETURN
540 PRINT#2,"The subject may be suffering from one of the following:":PRINT#2,:IF (W=0 AND J4=0) OR (W<>0 AND J3=0) THEN PRINT#2,E$:RETURN
600 PRINT#2,:PRINT#2,:FOR I=1 TO 79:PRINT#2,"=";:NEXT:PRINT#2,"=":PRINT#2,CHR$(12);:CLOSE #2:OPEN "SCRN:" FOR OUTPUT AS #2:RETURN
630 FOR I=1 TO L2:P%(I,0)=0:P%(I,1)=0:NEXT:FOR I=1 TO J3:PD%(I)=0:NEXT:FOR I=1 TO J4:P2%(I)=0:NEXT:FOR I=1 TO J6:REF%(I)=0:NEXT:RETURN
640 ZZ$="":FOR I=0 TO 48:IF T%(I)=VAL(MID$(SH$(IE),3)) THEN ZZ$="L":TI=I:I=48:RETURN
650 NEXT:ZZ$="S":RETURN
660 L=L+1:Q$="":IF ZZ$="S" THEN 700
670 IF L>92 THEN L=-1:RETURN
680 IF DL%(TI,L)=0 THEN L=-1:RETURN
690 DN%=DL%(TI,L):GOTO 730
700 IF L>9 THEN L=-1:RETURN
710 IF DS%(VAL(MID$(SH$(IE),3)),L)=0 THEN L=-1:RETURN
720 DN%=DS%(VAL(MID$(SH$(IE),3)),L)
730 IF IE>1 THEN GOSUB 770
740 IF Q$="Y" THEN 660
750 GOSUB 760:GOTO 660
760 L2=L2+1:P%(L2,0)=DN%:P%(L2,1)=1:RETURN
770 Q$="":FOR I=1 TO L2:IF DN%=P%(I,0) THEN GOSUB 800
780 IF Q$="Y" THEN I=L2
790 NEXT:RETURN
800 Q$="Y":P%(I,1)=P%(I,1)+1:RETURN
810 DU=1
820 DU=DU*2:IF DU<=L2 THEN 820
830 DU=INT((DU-1)/2):IF DU=0 THEN RETURN
840 FOR NU=1 TO L2-DU:JU=NU
850 LU=JU+DU:IF P%(JU,1)>=P%(LU,1) THEN 870
860 X1=P%(JU,1):X0=P%(JU,0):P%(JU,1)=P%(LU,1):P%(JU,0)=P%(LU,0):P%(LU,1)=X1:P%(LU,0)=X0:JU=JU-DU:IF JU>0 THEN 850
870 NEXT:GOTO 830
880 J3=J3+1:PD%(J3)=RE%:RETURN
900 J$="":IF W<>0 THEN 930
910 FOR I=1 TO J3:IF RE%=PD%(I) THEN I=J3:J$="F":J4=J4+1:P2%(J4)=RE%:RETURN
920 NEXT:J$="N":RETURN
930 FOR I=1 TO J4:IF RE%=P2%(I) THEN I=J4:J$="F":GOSUB 880:RETURN
940 NEXT:J$="N":RETURN
950 NM$="":GOSUB 85:GOSUB 74:PRINT NU$;:GOSUB 75
952 GOSUB 80:NM$=G$:G%=ASC(NM$):RETURN
960 NU$=" Enter number to delete (<A>=all):":GOSUB 1420:IF ASC(NM$)=13 AND NM%=0 THEN RETURN 1860
970 IF G%=32 OR NM%>CO THEN BEEP:GOTO 960
980 IF (ASC(NM$)=8 OR ASC(NM$)=27) AND C=2 THEN C=0:GOTO 960
990 IF ASC(NM$)=27 OR ASC(NM$)=8 THEN RETURN
1000 IF G%=65 OR G%=97 THEN FOR I=1 TO J:S$(I)="":SH$(I)="":NEXT:NM%=1:J=1
1010 IF NM%=1 AND J=1 THEN S$(J)="":SH$(J)="":J=0:GOSUB 64:LOCATE 12,30:GOSUB 74:PRINT "All symptoms deleted":LOCATE 13,24:PRINT AMM$:GOSUB 75:GOSUB 135:RETURN 1860
1020 IF NM%=J THEN S$(J)="":SH$(J)="":J=J-1:VSTART=VC%(NM%):VSTOP=21:GOSUB 65:RETURN
1030 FOR I=NM% TO J-1:S$(I)=S$(I+1):SH$(I)=SH$(I+1):NEXT:S$(J)="":SH$(J)="":J=J-1:IF NM%=1 THEN GOSUB 64:CO=0:LOCATE 5:GOSUB 1670:RETURN
1850 LOCATE 21,28:GOSUB 74:BEEP:PRINT#2,"That was the 20th symptom":FOR I!=1 TO 8000!:NEXT:LOCATE 21,22:PRINT#2,AMM$:GOSUB 75:GOSUB 135
1860 GOSUB 95:MENU$="MM":FR%=0:C=0:R=0:CO=0:NM$="":NM%=0:QQ%=77:PP%=0:CLS:GOSUB 72:TITLE$=">>>>> M A I N M E N U <<<<<":GOSUB 76:LOCATE 8,32:PRINT "<1> Enter Symptoms";
1870 LOCATE 10,32:PRINT "<2> Edit Symptoms":LOCATE 12,32:PRINT "<3> Run Diagnoses":LOCATE 14,32:PRINT "<4> Reference a disease":LOCATE 16,32:PRINT "<5> Quit";:IF DC=1 AND PR$<>"N" THEN PRINT ", or ":LOCATE 18,32:PRINT "<6> Print Results"
1892 GOSUB 80:IF G<1 OR G>5+DC THEN BEEP:GOTO 1892
1894 IF DC=0 OR (DC=1 AND G<>6) THEN GOSUB 630
1900 IF G$="1" AND J=20 THEN BEEP:LOCATE 20,23:GOSUB 74:PRINT "MAXIMUM NUMBER OF SYMPTOMS INPUTTED";:FOR I!=1 TO 8000!:NEXT:GOSUB 75:LOCATE 20,21:PRINT#2,SPC(40):GOTO 1890
1910 GOSUB 75:DC=0:G$="P":ON G GOTO 1920,2120,2200,6000,5000,2861
1920 GOSUB 95:MENU$="BP":CO=0:XC=0:FOR I=1 TO J2:RC%(I)=0:NEXT:J2=0:CLS:GOSUB 72:TITLE$=" >> BODY PART/FUNCTION/PRODUCT MENU << ":GOSUB 76:FOR I=1 TO 34:ITRUNC$=MID$(STR$(I),2,LEN(STR$(I))):HT%=INT(I/12)*25+6:IF I=23 THEN HT%=56
1922 IF I<10 THEN HT%=7
1924 V%=(I MOD 11)+5:IF I MOD 11=0 THEN V%=V%+11
1925 IF I=34 THEN V%=17
1926 LOCATE V%,HT%
1928 PRINT "<";ITRUNC$;"> ";BP$(I):NEXT:NU$=" Enter number of desired selection:":GOSUB 1370
1930 GOSUB 72:GOSUB 1420:IF G%=32 OR G%=65 THEN BEEP:GOTO 1930
1940 IF NM%>34 THEN BEEP:GOTO 1930
1950 IF G%=27 OR G%=8 THEN 1860
1960 IF G%=13 AND NM%=0 THEN 1860
1970 GOSUB 95:MENU$="SY":CO=0:CLS:GOSUB 72:TITLE$=BP$(NM%):GOSUB 76:NU$=" <SPACEBAR>=Scroll Enter selections:":FI$=LEFT$(BP$(NM%),4):IF BP$(NM%)="BREASTS" THEN FI$="BREASTS"
1975 GOSUB 1280
1980 LOCATE 5:H=5:GOSUB 1300
1990 GOSUB 1370
2000 GOSUB 1420:IF G%=65 OR G%=97 THEN BEEP:GOTO 2000
2010 IF G%<>32 THEN 2050
2020 IF G%=32 AND CO>=R THEN GOSUB 64:CO=0:XC=0:LOCATE 5:GOSUB 1300:GOTO 2000
2040 IF G%=32 THEN GOSUB 64:GOTO 1980
2050 IF G%=13 AND NM%=0 THEN 1860
2060 IF (G%=27 OR G%=8) AND NM%<>0 THEN NM%=0:C=0:GOTO 2000
2070 IF G%=27 OR G%=8 THEN 1920
2080 IF NM%>CO OR NM%>R OR NM%<=LASTCO THEN BEEP:GOTO 2000
2090 J2=J2+1:RC%(J2)=NM%:GOSUB 1710:IF Q$="N" THEN Q$="Y":BEEP:GOTO 1990
2100 GOSUB 74:LOCATE VC%(NM%):TC=CO:CO=NM%:A$=MID$(A$(CO),6):H=5:GOSUB 1760:CO=TC:GOSUB 75:J=J+1:S$(J)=A$(NM%):SH$(J)=LEFT$(S$(J),5):IF J=20 THEN 1850
2110 GOTO 1990
2120 GOSUB 95:MENU$="SE":CLS:QQ%=77:TITLE$=" >>>> SYMPTOM EDITOR <<<< ":GOSUB 72:GOSUB 76:GOSUB 1370:IF J=0 THEN LOCATE 12,31:GOSUB 74:PRINT "NO SYMPTOMS TO EDIT":BEEP:FOR I!=1 TO 8000!:NEXT:GOSUB 75:GOTO 1860
2130 LOCATE 5:GOSUB 1670:DC=0
2140 NU$=" <SPACEBAR>=Scroll <D>elete symptoms":GOSUB 950:IF J=0 THEN 1860
2150 IF G%<>13 AND G%<>27 AND G%<>8 AND G%<>68 AND G%<>100 AND G%<>32 THEN BEEP:GOTO 2140
2160 IF G%=68 OR G%=100 THEN GOSUB 960:GOTO 2140
2170 IF G%=27 OR G%=8 OR G%=13 THEN 1860
2180 IF G%=32 AND CO>=J THEN GOSUB 64:CO=0:XC=0:LOCATE 5:GOSUB 1670:GOTO 2140
2190 IF G%=32 THEN GOSUB 64:LOCATE 5:GOSUB 1670:GOTO 2140
2200 GOSUB 95:MENU$="AM":CLS:GOSUB 72:PP%=0:QQ%=77:TITLE$=" >>>>> ANALYSIS MENU <<<<< ":GOSUB 76:GOSUB 1370:IF J=0 THEN BEEP:GOSUB 74:LOCATE 12,29:PRINT "NO SYMPTOMS TO ANALYZE":GOSUB 75:FOR I!=1 TO 8000!:NEXT:GOTO 1860
2210 LOCATE 7,24:PRINT "Do you wish to run a...":LOCATE 12,31:PRINT "<P>ooled Analysis":LOCATE 14,37:PRINT "or an":LOCATE 16,31:PRINT "<E>xclusive Analysis"
2220 GOSUB 72:LOCATE 23,40:GOSUB 74:PRINT#2,AL$;:GOSUB 80:IF G$<>"E" AND G$<>"P" AND G%<>13 AND G%<>27 AND G%<>8 THEN G$="":BEEP:GOTO 2220 ELSE GOSUB 75
2630 IF G%=32 THEN VSTART=TV%:VSTOP=21:GOSUB 65:GOTO 2270
2645 IF NM$="N" AND L<>-1 THEN 2290
2650 IF IE<J AND NM$="N" THEN 2750
2662 IF IE=J AND NM$="N" THEN 2666
2666 GOSUB 64:LOCATE 5,27:PRINT "That was the last symptom."
2670 GOSUB 85:GOSUB 72:LOCATE 10,27:PRINT#2,"You may now ...":LOCATE 13,31:PRINT#2,"<1> Print final analysis":LOCATE 15,31:PRINT#2, "<2> Go to analysis menu":LOCATE 17,31:PRINT#2,"<3> Review analysis"
2830 LOCATE FV%,2:PRINT#2," ":GOSUB 85:GOSUB 73:PRINT#2," Now running sort":GOSUB 75:GOSUB 810:GOSUB 64:GOSUB 85:IF PR$="N" THEN 2870
2860 GOSUB 480
2861 IF G$="P" THEN CLS:TI$=F$:GOSUB 72:GOSUB 520:CLOSE #2:OPEN "LPT1:" FOR OUTPUT AS #2:GOSUB 530:GOSUB 440:PRINT#2,:GOSUB 600:GOSUB 630:DC=0:GOTO 1860
6000 PP%=2:CLS:GOSUB 72:TITLE$="Choosing a disease to reference":GOSUB 76
6010 GOSUB 72:GOSUB 1370:GOSUB 85:GOSUB 74:GOSUB 72:LOCATE 23,40:PRINT " Enter first 3 letters of disease:";:GOSUB 75:ML%=3:MV%=0:E%=74:GOSUB 1550:IF LEN(GG$)<>3 THEN BEEP:GOTO 6010
6020 IF GG$="RET" OR GG$="ESC" THEN 1860
6025 LOCATE 6
6027 J6=0
6030 FOR I=1 TO 331
6040 IF DISINDEX%(I)=(ASC(LEFT$(GG$,1))-65)*26^2+(ASC(MID$(GG$,2,1))-65)*26+ASC(RIGHT$(GG$,1))-65 THEN J6=J6+1:REF%(J6)=I:RE%=I:GOSUB 1270:LOCATE ,28:PRINT USING "##";J6;:PRINT ". "RD.GOOD$
6050 NEXT:IF CSRLIN=6 THEN BEEP:LOCATE 12,12:PRINT "No disease found which starts with those 3 letters.":FOR I!=1 TO 8000!:NEXT:CLS:GOSUB 76:GOTO 6010
6060 GOSUB 72:GOSUB 85:GOSUB 74:PRINT " Enter number of desired disease:";:GOSUB 75:MV%=J6:ML%=2:E%=73:GOSUB 1550:IF GG$="ESC" THEN 6000